home *** CD-ROM | disk | FTP | other *** search
- 1000 ; ggtextsample date: 10-03-88
- 1010 ;---------------------------------
- 1020 ;
- 1030 ; the final cartridge iii desktop
- 1040 ;
- 1050 ; riska h&p, marc derksen
- 1060 ;
- 1070 ; p r o j e c t d e m o
- 1080 ;
- 1090 ;---------------------------------
- 1100 ;
- 1110 *=$0be1,$0801
- 1120 buf0=$a3
- 1130 buf1=$a4
- 1140 gosub=$de05 ; system constants
- 1150 close=$01
- 1160 toback=$02
- 1170 dragbr=$08
- 1180 invert=$01
- 1190 toggle=$20
- 1200 release=$10
- 1210 ;
- 1220 ;------ basic startup data -----
- 1230 wor $0817,1987 ; line number
- 1240 byt $9e ; basic sys-code
- 1250 byt "2076 desk[164]p v1.0",0,0,0
- 1260 byt 1,0 ; version
- 1270 byt 2 ; size in blocks
- 1280 jmp $dfe8 ; startup
- 1290 byt 0 ; unused
- 1300 ;
- 1310 mn3it1=$c0c2
- 1320 mn3it2=$c0ca
- 1330 ;------ main ------------------
- 1340 start jsr survive
- 1350 ldx #<item2 ; set new menu
- 1360 ldy #>item2
- 1370 stx mn3it1
- 1380 sty mn3it1+1
- 1390 rts
- 1400 ;
- 1410 ;------ menuitem structure ---
- 1420 item2 wor item3 ; nextitem
- 1430 wor it2txt ; item name
- 1440 wor openwd ; item exec
- 1450 byt 1,0 ; enable item
- 1460 item3 wor 0 ; no nextitem
- 1470 wor it3txt
- 1480 wor unlink
- 1490 byt 1,0
- 1500 ;
- 1510 it2txt byt "[196][197][205][207][160][215][196]",0
- 1520 it3txt byt "[213][206][204][201][206][203]",0
- 1530 ;
- 1540 ggflags=invert+toggle+release
- 1550 ;------ window ---------------
- 1560 openwd ldx #<window ; call openwd
- 1570 ldy #>window
- 1580 lda #openwindow
- 1590 jmp gosub
- 1600 ;
- 1610 window wor gadget ; first gadget
- 1620 byt 40,40 ; wdx,wdy
- 1630 byt 140,55 ; width,height
- 1640 wor wdtitle ; window name
- 1650 byt close+toback+dragbr ; wdflags
- 1660 byt 66 ; wdtitle size
- 1670 wor 0,0
- 1680 ;
- 1690 gadget wor 0 ; next gadget
- 1700 byt 4,14 ; ggx,ggy
- 1710 byt 132,38 ; width,height
- 1720 wor 0 ; gadget text
- 1730 byt ggflags ; gadget flags
- 1740 wor ggspec ; called when gadget
- 1750 wor 0,0 ; is being drawn
- 1760 ;
- 1770 wdtitle byt "[205]y [215]indow",0
- 1780 ;
- 1790 ;------ gadget spec ----------
- 1800 ggspec ldx #<text ; draw text
- 1810 ldy #>text
- 1820 lda #multiprint
- 1830 jmp gosub
- 1840 ;
- 1850 text ; multiple text structures
- 1860 byt 4,5,1,"normal",0
- 1870 byt 4,25,$81,"bold",0
- 1880 byt 58,5,$41
- 1890 byt "eexxtteennddeedd",0
- 1900 byt 58,18,$21,"double height",0
- 1910 byt 0 ; end of struc
- 1920 ;
- 1930 ;------ unlink ---------------
- 1940 unlink ldx #<window ; close wd
- 1950 ldy #>window
- 1960 jsr closewd
- 1970 ldx #<mn3it2 ; remove menu
- 1980 ldy #>mn3it2
- 1990 stx mn3it1
- 2000 sty mn3it1+1
- 2010 inc $8004 ; remove survive
- 2020 rts
- 2030 ;
- 2040 ;------ close window ---------
- 2050 closewd stx buf0
- 2060 sty buf1
- 2070 lda #wdonscreen ; if wd open
- 2080 jsr gosub
- 2090 iny
- 2100 beq not
- 2110 ldx buf0 ; then closewd
- 2120 ldy buf1
- 2130 lda #setcurwd
- 2140 jsr gosub
- 2150 lda #wdclose
- 2160 jsr gosub
- 2170 not rts
- 2180 ;
- 2190 ;------ reset survive --------
- 2200 survive ldx #6-1 ; install code
- 2210 slp lda tabel,x
- 2220 sta $8000,x
- 2230 dex
- 2240 bpl slp
- 2250 rts
- 2260 tabel wor start+3
- 2270 byt "mg87"
- 2280 ;
- 2290 ;------ includes -------------
- 2300 openwindow=48
- 2310 multiprint=69
- 2320 wdonscreen=70
- 2330 wdclose=65
- 2340 setcurwd=29
-